The present invention relates to computer animation. More particularly, the present invention relates to techniques and apparatus for efficient rendering of objects that are specified to include translucent materials.
Throughout the years, movie makers have often tried to tell stories involving make-believe creatures, far away places, and fantastic things. To do so, they have often relied on animation techniques to bring the make-believe to “life.” Two of the major paths in animation have traditionally included, drawing-based animation techniques and physical animation techniques.
Drawing-based animation techniques were refined in the twentieth century, by movie makers such as Walt Disney and used in movies such as “Snow White and the Seven Dwarfs” (1937) and “Fantasia” (1940). This animation technique typically required artists to hand-draw (or paint) animated images onto a transparent media or cels. After painting, each cel would then be captured or recorded onto film as one or more frames in a movie.
Physical-based animation techniques typically required the construction of miniature sets, props, and characters. The filmmakers would construct the sets, add props, and position the miniature characters in a pose. After the animator was happy with how everything was arranged, one or more frames of film would be taken of that specific arrangement. Physical animation techniques were developed by movie makers such as Willis O'Brien for movies such as “King Kong” (1933). Subsequently, these techniques were refined by animators such as Ray Harryhausen for movies including “Mighty Joe Young” (1948) and Clash Of The Titans (1981).
With the wide-spread availability of computers in the later part of the twentieth century, animators began to rely upon computers to assist in the animation process. This included using computers to facilitate drawing-based animation, for example, by painting images, by generating in-between images (“tweening”), and the like. This also included using computers to augment physical animation techniques. For example, physical models could be represented by virtual models in computer memory, and manipulated.
One of the pioneering companies in the computer aided animation (CA) industry was Pixar. Pixar developed both computing platforms specially designed for computer animation and animation software now known as RenderMan®. RenderMan® was particularly well-received in the animation industry and recognized with two Academy Awards®.
RenderMan® software is used to convert graphical specifications of objects and convert them into one or more images. This technique is known in the industry as rendering. One specific portion of the rendering process is known as surface shading. In the surface shading process the software determines how much light is directed towards the viewer from the surface of objects in an image in response to the applied light sources.
For different types of object materials, however, the amount of light directed towards the viewer is more than the light reflected from the surface. Such types of materials include materials that are at least partially translucent in nature, such as plastic, skin, milk, and the like. Translucent materials may also include materials that are non-uniformly translucent, such as marble, jade, and the like, and may have sub-surface features. Compensation for subsurface scattering and other effects of translucency are deemed important for the realism of computer-generated imagery.
Techniques to compensate and to render translucent objects have previously been proposed and generally fall into two categories: surface based approaches, and stochastic ray tracing methods. Each of these approaches has significant shortcomings. Surface based approaches suffer from technical difficulties in the parametric representation of sample locations. Additionally, such approaches do not address the fundamental problem of representing an internal structure of the scattering media.
Stochastic ray tracing approaches can be used to solve the full physical problem, however such approaches are generally very time consuming. Another approach includes a finite element analysis through a hierarchical evaluation of a radiative transfer equation. Again such approaches are very computationally intensive. Because the present solutions to the problem of rendering objects of translucent materials is slow, animators using such rendering techniques cannot quickly see how the animation will look. Accordingly, the animators must often wait overnight to see the rendering results.
In light of the above, what is needed are efficient techniques to render translucent objects.